package com.xxgc.mybatis.dao.dao;

import com.xxgc.mybatis.dao.entity.Users;
import com.xxgc.mybatis.dao.entity.UsersExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @shi jia yi
 * @date 2021/10/26/09:50
 */
public interface UsersMapper {
    //根据条件查询总数
    long countByExample(UsersExample example);
    //根据条件删除数据
    int deleteByExample(UsersExample example);
    //根据条件进行删除
    int deleteByPrimaryKey(Long uId);
    //插入数据  小孩子才做选择，我全都要
    int insert(Users record);
    //插入数据 会判断字段给啥添啥
    int insertSelective(Users record);
    //根据条件查询
    List<Users> selectByExample(UsersExample example);
    //根据主键查询
    Users selectByPrimaryKey(Long uId);
    //会判断条件字段 也会判断不为空的数据更新
    int updateByExampleSelective(@Param("record") Users record, @Param("example") UsersExample example);
    //会判断条件字段 但只会更新所有字段
    int updateByExample(@Param("record") Users record, @Param("example") UsersExample example);
    //根据主键进行修改，会判断传入参数是否为空
    int updateByPrimaryKeySelective(Users record);
    //根据组件进行修改，修改所有属性
    int updateByPrimaryKey(Users record);
}